Many digital image processing algorithms are designed to improve the quality of an image by correcting for a deterministic problem in the image path. For example, lenses often produce optical distortion that degrades the quality of the captured image. It is often more economically feasible to correct the degradation with digital image processing rather than through complicated lens design steps. If the degradation is known precisely, then a correction can be made to the image by digitizing the image and applying a correction algorithm using correction parameters. Typically, a given set of correction parameters for a given degradation relate only to a specific lens at a particular setting. For example, a single zoom lens may produce a different level of distortion for each different level of zoom.
This implies that several possible solutions could be used to correct for the degradations in an image. First consider an imaging system that for each image, associated metadata (non-image information that is associated with an image) is used to determine the correction parameters. For example, if the camera type and focal length were provided as metadata associated with an image, then a database could be used to determine the appropriate correction parameters for the image. The database would contain metadata and correction parameters in pairs. For a practical image processing system, an extensive database of many different camera types would be required to effectively implement a system having the ability to correct for deterministic problems of the image path. Such a database would be difficult to maintain, as new cameras (especially digital cameras) are commonly being introduced to the marketplace. Characterizing the cameras and updating the database is labor-intensive and, as a result, expensive. An additional disadvantage of this method is that if the system encounters an image with metadata not in the database, then that image's quality cannot be improved.
For example, in U.S. Pat. No. 5,461,440, Toyoda et al. describe a method of writing on film an identification code indicating an amount of degradation produced by the optical system. This identification code is used to determine image quality degradation information that is used to correct for the image quality. This method has the short-comings mentioned above. In U.S. Pat. No. 6,219,446, Kiriki et al. describe a method of extracting correction parameters for an image capture problem (e.g lens distortion) by using exposures of structured target images and analyzing the images of the targets. Unfortunately, not all images contain targets, and it is desirable to be able to correct for the capture problems of images without associated targets.
Alternatively, consider an image processing system that can determine, via an automatic algorithm, the correction parameters that will produce the best correction for a given image degradation. For example, for the image degradation of lens distortion, the plumb-line method (D. Brown, “Close Range Camera Calibration”, Photogrammetric Engineering, pp. 855-866, 1971) is an automatic method used to determine appropriate correction parameters for an image or a set of images captured with similar optical conditions (i.e., where the camera manufacturer, focal length, etc. are similar). However, this algorithm and many automatic algorithms are computationally intensive. In addition, the algorithm is applied to determine the correction parameters over and over for the same camera with identical optical conditions (despite the fact that the correction parameters should be constant). Therefore, using an automatic algorithm allows the image processing system to potentially improve the image quality of images from unknown sources, but it is not efficient.
Thus there exists a need for an efficient method by which digital image processing can be used to correct for deterministic capture problems.